.TH std::allocator::construct 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::allocator::construct \- std::allocator::construct

.SH Synopsis
   Defined in header <memory>
   void construct( pointer p, const_reference val ); \fB(1)\fP \fI(until C++11)\fP
   template< class U, class... Args >                    \fI(since C++11)\fP
   void construct( U* p, Args&&... args );           \fB(2)\fP (deprecated in C++17)
                                                         (removed in C++20)

   Constructs an object of type T in allocated uninitialized storage pointed to by p,
   using global placement-new.

   1) Calls ::new((void*)p) T(val).
   2) Calls ::new((void*)p) U(std::forward<Args>(args)...).

.SH Parameters

   p       - pointer to allocated uninitialized storage
   val     - the value to use as the copy constructor argument
   args... - the constructor arguments to use

.SH Return value

   \fI(none)\fP

   Defect reports

   The following behavior-changing defect reports were applied retroactively to
   previously published C++ standards.

     DR    Applied to         Behavior as published              Correct behavior
   LWG 402 C++98      if T::operator new exists, the        uses global replacement-new
                      program might be ill-formed           instead

.SH See also

   construct      constructs an object in the allocated storage
   \fB[static]\fP       \fI(function template)\fP
   construct_at   creates an object at a given address
   (C++20)        \fI(function template)\fP
   operator new   allocation functions
   operator new[] \fI(function)\fP
